package cn.xscrum.vtsp.service;

import cn.xscrum.vtsp.domain.VtspVolunteer;
import java.util.List;

/**
 * 志愿者信息Service接口
 * 
 * @author xscrum
 * @date 2021-10-01
 */
public interface IVtspVolunteerService 
{
    /**
	 * 查询志愿者信息
     * 
     * @param volunteerId 志愿者信息ID
     * @return 志愿者信息
     */
    public VtspVolunteer selectVtspVolunteerById(Long volunteerId);

    public VtspVolunteer selectVtspVolunteerByOauthId(Long oauthId);

    /**
     * 根据授权id查询用户（志愿者）
     *
     * @param oauthId 授权id
     * @return 用户（志愿者）
     */
    public VtspVolunteer selectVtspVolunteer(Long oauthId);

    /**
	 * 查询志愿者信息列表
     * 
     * @param vtspVolunteer 志愿者信息
     * @return 志愿者信息集合
     */
    public List<VtspVolunteer> selectVtspVolunteerList(VtspVolunteer vtspVolunteer);

    public VtspVolunteer queryVtspVolunteer(VtspVolunteer vtspVolunteer);

    /**
	 * 新增志愿者信息
     * 
     * @param vtspVolunteer 志愿者信息
     * @return 结果
     */
    public int insertVtspVolunteer(VtspVolunteer vtspVolunteer);

    /**
	 * 修改志愿者信息
     * 
     * @param vtspVolunteer 志愿者信息
     * @return 结果
     */
    public int updateVtspVolunteer(VtspVolunteer vtspVolunteer);

    /**
	 * 批量删除志愿者信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteVtspVolunteerByIds(String ids);

    /**
	 * 删除志愿者信息信息
     * 
     * @param volunteerId 志愿者信息ID
     * @return 结果
     */
    public int deleteVtspVolunteerById(Long volunteerId);

    /**
     * 批量拒绝 入队申请(member_state 1 -> 3)
     *
     * @param volunteerIds 需要修改的数据ID
     * @return 结果
     */
    public int refuseVtspVolunteerByIds(String volunteerIds, String memo);

    /**
     * 批量同意 入队申请(member_state 1 -> 6)
     *
     * @param volunteerIds 需要修改的数据ID
     * @return 结果
     */
    public int acceptVtspVolunteerByIds(String volunteerIds);
}
